package com.unitd.base.frame.plugin.module.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体对象最顶层的基类
 *
 * @author Hudan
 * @version 1.0
 * @filename BaseEntity.java
 * @copyright www.unitd.com
 * @date 2019-02-02
 */
@Data
@ToString
@EqualsAndHashCode
@Accessors(chain = true)
public class BaseVoEntity implements Serializable, Cloneable {

    /** 自增主键ID */
    protected Long id;
    /** 数据状态(0:无效; 1:有效) */
    protected String status;
    /** 是否已删除(0:否; 1:是) */
    protected String deleteFlag;
    /** 创建时间 */
    @TableField(value = "create_time", fill = FieldFill.INSERT_UPDATE)
    protected Date createTime;
    /** 更新时间 */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    protected Date updateTime;
    /** 备注信息 */
    @TableField("remark")
    protected String remark;
    @Override
    public Object clone
            () throws CloneNotSupportedException {
        return super.clone();
    }
}